package com.suning.sawp.po.customer;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

/**
 * 
 * 共享店员客户信息表<br> 
 * 〈功能详细描述〉
 *
 * @author 12061818
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
@Entity(name = "SHARE_CLERK_CUST_INFO")
public class ShareClerkCustInfo implements Serializable {

    /**
     */
    private static final long serialVersionUID = 7401470327375906890L;
    /**
     * 客户关系ID
     */
    private Long custRelId;

    /**
     * 关联店员
     */
    private String staffId;

    /**
     * 店员姓名
     */
    private String staffName;
    
    /**
     * 客户ID
     */
    private Long custId;

    /**
     * 备注姓名
     */
    private String remarkName;

    /**
     * 备注
     */
    private String remark;

    /**
     * 客户来源
     */
    private String custSource;

    /**
     * 客户评级id
     */
    private Long custRating;

    /**
     * 客户评级name（非数据库字段）
     */
    private String custRatingName;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * IS_KEY_CUST 是否重点客户 1-是，0不是
     */
    private Integer isKeyCust = 0;

    /**
     * 活动ID
     */
    private Long actId;

    /**
     * 地点子任务ID
     */
    private Long taskId;
    
    /**
     * 熟人姓名
     */
    private String acqName;

    /**
     * 熟人电话
     */
    private String acqMobile;

    /**
     * 门店编码
     */
    private String storeCode;

    /**
     * 返回报文数据模型
     */
    private List<CustLabelRel> custLabels;

    @Id
    @Column(name = "CUST_REL_ID")
    public Long getCustRelId() {
        return custRelId;
    }

    public void setCustRelId(Long custRelId) {
        this.custRelId = custRelId;
    }

    @Column(name = "STAFF_ID")
    public String getStaffId() {
        return staffId;
    }

    public void setStaffId(String staffId) {
        this.staffId = staffId;
    }

    @Column(name = "STAFF_NAME")
    public String getStaffName() {
        return staffName;
    }

    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }

    @Column(name = "CUST_ID")
    public Long getCustId() {
        return custId;
    }

    public void setCustId(Long custId) {
        this.custId = custId;
    }

    @Column(name = "REMARK_NAME")
    public String getRemarkName() {
        return remarkName;
    }

    public void setRemarkName(String remarkName) {
        this.remarkName = remarkName;
    }

    @Column(name = "REMARK")
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Column(name = "CUST_SOURCE")
    public String getCustSource() {
        return custSource;
    }

    public void setCustSource(String custSource) {
        this.custSource = custSource;
    }

    @Column(name = "CUST_RATING")
    public Long getCustRating() {
        return custRating;
    }

    public void setCustRating(Long custRating) {
        this.custRating = custRating;
    }

    @Column(name = "CREATE_TIME")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Column(name = "UPDATE_TIME")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Column(name = "IS_KEY_CUST")
    public Integer getIsKeyCust() {
        return isKeyCust;
    }

    public void setIsKeyCust(Integer isKeyCust) {
        this.isKeyCust = isKeyCust;
    }

    @Column(name = "ACT_ID")
    public Long getActId() {
        return actId;
    }

    public void setActId(Long actId) {
        this.actId = actId;
    }

    @Column(name = "TASK_ID")
    public Long getTaskId() {
        return taskId;
    }

    public void setTaskId(Long taskId) {
        this.taskId = taskId;
    }

    @Column(name = "ACQ_NAME")
    public String getAcqName() {
        return acqName;
    }

    public void setAcqName(String acqName) {
        this.acqName = acqName;
    }

    @Column(name = "ACQ_MOBILE")
    public String getAcqMobile() {
        return acqMobile;
    }

    public void setAcqMobile(String acqMobile) {
        this.acqMobile = acqMobile;
    }

    @Column(name = "STORE_CODE")
    public String getStoreCode() {
        return storeCode;
    }

    public void setStoreCode(String storeCode) {
        this.storeCode = storeCode;
    }

    public List<CustLabelRel> getCustLabels() {
        return custLabels;
    }

    public void setCustLabels(List<CustLabelRel> custLabels) {
        this.custLabels = custLabels;
    }

    public String getCustRatingName() {
        return custRatingName;
    }

    public void setCustRatingName(String custRatingName) {
        this.custRatingName = custRatingName;
    }
    
    public interface CustSource {
        /**
         * 外拓
         */
        String OUT_DEV = "1";
        /**
         * 到店
         */
        String ARRIVE_STORE = "2";
        /**
         * 熟人推荐
         */
        String ACQ_RECOMMEND = "3";
        /**
         * 发促销券
         */
        String COUPON = "4";
        /**
         * 预充值
         */
        String PRECHARGE = "5";
        /**
         * 一键注册
         */
        String ONE_KEY_REG = "6";
    }

    public interface KeyCustOpType {
        /**
         * 设置重点客户
         */
        int SET_KEY = 1;
        /**
         * 取消设置重点客户
         */
        int CANCEL_KEY = 0;
    }
    @Override
    public String toString() {
        return "ClerkCustInfo [custRelId=" + custRelId + ", staffId=" + staffId + ", custId=" + custId
                + ", remarkName=" + remarkName + ", remark=" + remark + ", custSource=" + custSource + ", custRating="
                + custRating + ", custRatingName=" + custRatingName + ", createTime=" + createTime + ", updateTime="
                + updateTime + ", isKeyCust=" + isKeyCust + ", actId=" + actId + ", taskId=" + taskId + ", acqName="
                + acqName + ", acqMobile=" + acqMobile + ", storeCode=" + storeCode + ", custLabels=" + custLabels
                + "]";
    }
}
